In computer networks, a number of network stations are typically interconnected via a communications medium. For example, Ethernet 802.3 is a commonly used local area network (LAN) scheme in which multiple stations are connected to a shared or dedicated serial data path. These stations often communicate with a switch or some other network device located between the data path and the stations connected to that path. The switch typically controls the communication of packets and includes logic for receiving and forwarding packets to their appropriate destinations.
Conventional network switches typically include a forwarding engine that operates upon received packets to determine forwarding and other relevant information for the packets. For example, the forwarding engine may perform complex and time-consuming lookup operations to identify the output port to transmit a received packet, the priority of a received packet, and other forwarding information relating to a received packet.
In some conventional switches, the process for determining forwarding information includes analyzing packet header information to generate the forwarding information for the packet. The forwarding engine, in this case, determines the forwarding information for each received packet separately.